feat(ui): slop + duplicate trend card on maintainer dashboard (#2202) - #5635
Conversation
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-13 18:46:36 UTC
⏸️ Suggested Action - Manual Review
Review summary Nits — 6 non-blocking
Review context
Contributor next steps
Signal definitions
[BETA] Chat with GittensoryAsk Gittensory a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://gittensory.aethereal.dev/docs/gittensory-commands Visual preview
Click any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #5635 +/- ##
========================================
Coverage 95.01% 95.02%
========================================
Files 575 576 +1
Lines 45738 45845 +107
Branches 14661 14692 +31
========================================
+ Hits 43459 43565 +106
Misses 1528 1528
- Partials 751 752 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|


Summary
Adds the missing #2202 maintainer-dashboard card: an 8-week trend-over-time view of slop-flag and duplicate-flag rates (dual
TrendChartseries, band labels only — never raw slop-risk or credibility numbers).buildQueueHealth/ queue-health signal snapshots withslopFlaggedPullRequestsandduplicateFlaggedPullRequestsso historical snapshots carry countable flags.buildMaintainerSlopDuplicateTrendto roll up weekly rates fromlistSignalSnapshots("queue-health")plus the live shaped queue-health point; exposesqualityDashboard.slopDuplicateTrendonGET /v1/app/maintainer-dashboard.SlopDuplicateTrendCardwired intoMaintainerPanelafterQueueHealthCard, withgeneratedAt+ stale pill, shared legend, and empty / one-series-empty / no-data branches.Closes #2202. Part of #539.
Scope
type(scope): short summaryConventional Commit format, for examplefix(api): restore profile access checks.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Closes #123) — a linked open issue is required for every contributor PR.Validation
git diff --checknpm run actionlintnpm run typechecknpm run test:coveragelocally;codecov/patchrequires ≥99% coverage of the lines AND branches you changed (aim for 100% on your diff so CI variance does not fail near the threshold). Global coverage is a non-blocking trend with a loose 90% backstop, not the gate.npm run test:workersnpm run build:mcpnpm run test:mcp-packnpm run ui:openapi:checknpm run ui:lintnpm run ui:typechecknpm run ui:buildnpm audit --audit-level=moderateIf any required check was skipped, explain why:
Scoped tests run so far (not a substitute for full
npm run test:ci):npx vitest run test/unit/maintainer-slop-duplicate-trend.test.ts— both weekly series, legacy snapshots, one-series-empty, no-data, multi-repo aggregation,slopBandLabelFromRatebranches, livebuildQueueHealthintegrationnpx vitest run test/unit/maintainer-quality-dashboard.test.ts test/unit/predicted-gate-engine-branch-coverage.test.tsnpx vitest run test/integration/api.test.ts -t "counts cached open PRs across all in-scope"npx vitest run test/unit/routes-gate-outcome-breakdown.test.tsnpm --workspace @loopover/ui run test -- --run slop-duplicate-trend-card.test.tsxnpx eslinton changed UI files (prettier clean)Full gate still required before push:
npm run test:ci+npm audit --audit-level=moderateon Node 22.Safety
UI Evidencesection below with JPG/JPEG or PNG screenshots arranged as organized, captioned, clickable thumbnails. SVG screenshots are not used as review evidence. Review-only screenshots or recordings are not committed to the repository.UI Evidence